// pages/homes/specialCase/specialCase.js
import Dialog from '../../../miniprogram_npm/vant-weapp/dialog/dialog';
import Toast from '../../../miniprogram_npm/vant-weapp/toast/toast';
const db = wx.cloud.database();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    shifts: [],
    index: 0,
    show: false,
    has_more: true,
    count: 0,
    EACH_COUNT: 5
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    wx.showToast({
      title: '加载中...',
      icon: 'loading',
    })
    // 调用云函数获取特殊交班
    wx.cloud.callFunction({
      name: 'wwxFuns',
      data:({
        name: 'get_shifts',
        count: 0
      })
    })
    .then(res => {
      wx.hideToast()
      this.setData({
        shifts: res.result,
        count: res.result.length
      })
      if(res.result.length < this.data.EACH_COUNT){
        this.setData({
          has_more: false
        })
      }
    })
    .catch(res => {
      console.log('error!')
    })
    
  },

  onShow(){
    wx.showToast({
      title: '加载中...',
      icon: 'loading',
    })
    // 调用云函数获取特殊交班
    wx.cloud.callFunction({
      name: 'wwxFuns',
      data:({
        name: 'get_shifts',
        count: 0
      })
    })
    .then(res => {
      wx.hideToast()
      this.setData({
        shifts: res.result,
        count: res.result.length
      })
      if(res.result.length < this.data.EACH_COUNT){
        this.setData({
          has_more: false
        })
      }
      else{
        this.setData({
          has_more: true
        })
      }
    })
    .catch(res => {
      console.log('error!')
    })
  },

  //打开功能栏
  onOpen(event){
    var str_title = "shifts[" + event.currentTarget.dataset.index + "].show";
    this.setData({
      index: event.currentTarget.dataset.index,
      [str_title]:true
    })
  },
  
  //关闭功能栏
  onClose() {
    var str_title = "shifts[" + this.data.index + "].show";
    this.setData({
      [str_title]:false });
  },
  
  //删除特殊交班
  delete(){
    const that = this
    //关闭功能框
    this.onClose()
    this.setData({
      show: true
    })
    //弹出确认删除弹窗
    Dialog.confirm({
      message: '请确认将 ' + this.data.shifts[this.data.index].patient_name + ' 的特殊交班删除！',
    })
    .then(() => {
      //确认删除
      this.setData({
        show: false
      })
      //调取云函数对特殊交班进行删除
      wx.cloud.callFunction({
        name: 'wwxFuns',
        data: {
          name: 'del_shifts',
          id: this.data.shifts[this.data.index]._id
        }
      })
      .then(res => {
        if(res.result.stats.removed > 0){
          //删除成功
          wx.showToast({
            title: '删除成功',
            icon: 'success',
            duration: 800
          })
          that.data.shifts.splice(that.data.index,1)
          //本地删除指定病人
          that.setData({
            shifts: that.data.shifts
          })
        }
        else{
          Toast.fail('删除失败！');
        }
      })
      .catch(res => {

      })
    })
    .catch(() => {
      //取消删除
      this.setData({
        show:false
      })
    });
  },
    
  //修改特殊交班信息
  change(){
    //关闭功能框
    this.onClose()
    //获取特殊交班id
    var id = this.data.shifts[this.data.index]._id
    //跳转到修改页面 传递特殊交班id 目前跳转到了值班表！
    wx.navigateTo({
      url: '../../replacemodify/replace3_ss/ss?id=' + String(id),
    })
  },


  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   * 加载更多特殊交班
   */
  onReachBottom: function () {
    if(this.data.has_more){
      wx.showToast({
        title: '加载中...',
        icon: 'loading',
      })
      // 调用云函数获取特殊交班
      wx.cloud.callFunction({
        name: 'wwxFuns',
        data:({
          name: 'get_shifts',
          count: this.data.count
        })
      })
      .then(res => {
        wx.hideToast()
        this.setData({
          shifts: this.data.shifts.concat(res.result),
          count: res.result.length + this.data.count
        })
        if(res.result.length < this.data.EACH_COUNT){
          this.setData({
            has_more: false
          })
        }
      })
      .catch(res => {
        console.log('error!')
      })
    }
    else{
      
    }
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})